1001 Secrets for Windows NT Registry
(Publisher: 29th Street Press)
Author(s): Tim Daniels
ISBN: 1882419685
Publication Date: 12/01/97

Previous Table of Contents Next


Memory Performance

When you think of memory performance, fast SRAMs and multilevel caching come to mind. Although these hardware components play a critical role in the latency and throughput of a computer’s memory subsystem, tweaking the Registry obviously cannot upgrade your machine’s hardware. So in this section, improving memory performance means improving the way NT uses physical and virtual memory. You know you’re experiencing memory problems that you can fix with registry entries, rather than additional hardware, when you get “not enough memory to complete task…” messages in the system Event Log or on the display monitor.

VI-5 The file system cache grows and shrinks as the applications’ memory demands change. However, at system startup, the cache’s minimum, maximum, and “ideal” sizes are calibrated based on the Registry value you set below.

Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Control\Session Manager\
Memory Management
Value Name: LargeSystemCache
Data Type: REG_DWORD
Value: 0

This value controls the size of the system’s file system cache. A value of 0 indicates a small cache, which is the default setting for Workstation, while 1 indicates a large cache, which is the default setting for Server. Servers usually perform some file sharing and therefore require a larger cache.

VI-6 NT categorizes memory as either paged or nonpaged. Paged memory holds data that can temporarily be moved from physical memory to the system’s paging file if space is needed for different data in physical memory. Nonpaged memory stores data that must be present in physical memory at all times. NT allocates a portion of physical memory for nonpaged memory when the system starts up, and this allocation can’t grow. If drivers or NT exhaust this storage, the system may become unstable or operations may start to fail. Modifying these two registry entries lets you override the defaults set for the paged and nonpaged pools.

Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Control\Session Manager\
Memory Management
Value Name: NonPagedPoolSize
Data Type: REG_DWORD
Value: <number in bytes >

This value is the number of bytes of physical memory you want to allocate for nonpaged memory. To monitor your memory, use Performance Monitor to watch the percentage of committed memory that’s used. If more than 80 percent of memory is used consistently, you should increase this value. Likewise, if the system’s nonpaged memory usage is low, reducing the amount allocated for it increases system performance.

VI-7 Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Control\Session Manager\
Memory Management
Value Name: PagedPoolSize
Data Type: REG_DWORD
Value: <number in bytes >

This value is the number of bytes in the paged memory pool. It overrides the system’s default calculation, which is roughly equal to the physical memory on Workstation and a minimum of 50 MB on Server. Paged pool is different from virtual memory size — the paged pool is space reserved in the system’s virtual memory map for NT and device drivers to allocate pageable data.

You can monitor the amount of paged pool the system uses with the Performance Monitor, which also shows the maximum allocation possible. If the amount of memory used is consistently more than 80 percent, you should use this setting to override the default.

Networking Performance

The registry gives you lots of control over Windows NT’s various networking components. Because your system may not run every networking service, you should identify which components are active so that you can target them when evaluating networking performance with tools like Performance Monitor.

General Networking

VI-8 This value controls the order in which your network redirectors are used. If you have more than one network redirector, such as Lanmanager Workstation or Client Services for NetWare, loaded on your system, you should consider changing this entry.

Hive: HKEY_LOCAL_MACHINE
Key: System\CurrentControlSet\Control\NetworkProvider
Value Name: Order
Data Type: REG_SZ
Value: <redirector name,redirector name,redirector name>

In this value, you set the order in which the WNet API uses your network providers. When the WNet API is called, it processes requests by sending them to each network provider in the order listed. If it gets back a response that the provider doesn’t process that type of request, the API calls the next provider listed. Thus, if most of your system’s activity relates to accessing NetWare shares, you should move the NetWare provider name to the start of the list. This small modification can improve performance significantly.


Previous Table of Contents Next